<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      //简单数据类型
      //1.字符串 2.布尔值 3.数字 4.undefined 5.null 6.Symbol 7.bigInt

      //一.Symbol: 独一无二的值  类似id值
      //创建一个Symbol
      // let s1 = Symbol("key1");
      // let s2 = Symbol("key1");
      // console.log(s1 === s2); //false
      // console.log(typeof s1);
      //

      //1.模拟私有成员
      //私有成员: 1.私有属性 2.私有方法
      //   var zhangsan = {
      //     name: "张三",
      //     age: 20,
      //     weight: "200kg",
      //   };
      //   console.log(zhangsan);
      //
      //   var zhangsan = {
      //     name: "张三",
      //     age: 20,
      //     [Symbol()]: "200kg",
      //     [Symbol()]: function () {
      //       console.log("hello");
      //     },
      //   };
      //   console.log(zhangsan);
      //   console.log(zhangsan[Symbol()]);

      //2.特殊的场景
      //对象的键值是什么值 无所谓  只要2个值不同就可以了
      // let types = {
      //   person: Symbol(),
      //   animal: Symbol(),
      // };
      // function getType(type) {
      //   if (type === types.person) {
      //     console.log("人类");
      //   } else {
      //     console.log("动物");
      //   }
      // }
      // getType(types.person);

      //二.bigInt 类型
      //js最大支持2 的53次方运算

      //   var num = 2 ** 54;
      //   console.log(num);
      //   console.log(num + 1);
      //   console.log(num + 2);
      //   console.log(num + 3);

      //bigInt的创建
      //方式一:
      //let num = BigInt(2 ** 54);
      //   console.log(num);
      //   console.log(typeof num);
      //bigInt 只能和bigInt做运算 不能和普通number类型做运算
      //   console.log(num + BigInt(1));
      //   console.log(num + BigInt(2));
      //   console.log(num + BigInt(3));
      //   console.log(num + BigInt(4));
      //   console.log(num + BigInt(5));
      //   console.log(num + BigInt(6));

      //方式二
      //   let num = 10000n;
      //   console.log(num);

      //

      let num = 2n ** 54n;
      console.log(num);
      console.log(num + 1n);
      console.log(num + 2n);
      console.log(num + 3n);
      console.log(num + 4n);
    </script>
  </body>
</html>
